import Util from '../../common/js/util'
import Store from '../../store/index'

/**
 * @name 商品搜索
 * @param {Object} params 请求参数
 * @param {string} params.brandId 品牌编号
 * @param {string} params.createUserId 创建人编号
 * @param {string} params.ids
 * @param {string} params.isUp 是否上架,0-上架 1-下架
 * @param {string} params.pageNum
 * @param {string} params.pageSize
 * @param {string} params.priceSort 价格排序(1:正序，2:倒序)
 * @param {string} params.productName 商品名称
 * @param {string} params.productTypeId 商品类型（传一级类型ID会查出对应的一级及二级类型商品）
 * @param {string} params.saleSort 月销排序(1:正序，2:倒序)
 * @param {string} params.timeSort 时间排序(1:正序，2:倒序)
 */
export const productSearchProducts = (params = {}) => {
	params.storeId = Store.state.userInfo.shopId
	return Util.request({
		url: `/api/product/searchProducts`,
		method: 'POST',
		data: params
	})
}

/**
 * @name 商品类型列表(父级)
 * @param {Object} params 请求参数
 */
export const productTypeList = (params = {}) => {
	return Util.request({
		url: `/api/product/typeList`,
		method: 'POST',
		data: params
	})
}

/**
 * @name 商品类型列表(子级)
 * @param {Object} params 请求参数
 * @param {Object} params.parentId
 */
export const productTypeChildren = (params = {}) => {
	return Util.request({
		url: `/api/product/typeChildren`,
		method: 'POST',
		data: params
	})
}

/**
 * @name 上、下架商品
 * @param {Object} params 请求参数
 * @param {Object} params.id
 * @param {Object} params.isUp 0上架，1下架
 */
export const productProductUpDown = (params = {}) => {
	return Util.request({
		url: `/api/product/productUpDown`,
		method: 'POST',
		data: params
	})
}

/**
 * @name 商品详情
 * @param {Object} params 请求参数
 * @param {Object} params.productId 
 * @param {Object} params.userId 
 */
export const productDetailProduct = (params = {}) => {
	return Util.request({
		url: `/api/product/detailProduct`,
		method: 'POST',
		data: params,
		userId: true
	})
}

/**
 * @name 网红爆款
 * @param {Object} params 请求参数
 * @param {Object} params.crowd 适用人群
 * @param {Object} params.gender 性别
 * @param {Object} params.pageNum  
 * @param {Object} params.pageSize  
 * @param {Object} params.purpose 用途
 * @param {Object} params.title 标题
 */
export const productNethot = (params = {}) => {
	return Util.request({
		url: `/api/product/nethot`,
		method: 'POST',
		data: params,
		shopId: true
	})
}
/**
 * @name 删除网红爆款
 * @param {Object} params 请求参数
 * @param {Object} params.id 
 */
export const productDelNethot = (params = {}) => {
	return Util.request({
		url: `/api/product/delNethot`,
		method: 'POST',
		data: params
	})
}
/**
 * @name 网红爆款详情
 * @param {Object} params 请求参数
 * @param {Object} params.nethotId 
 */
export const productDetailNethot = (params = {}) => {
	return Util.request({
		url: `/api/product/detailNethot`,
		method: 'POST',
		data: params
	})
}
/**
 * @name 保存网红爆款
 * @param {Object} params 请求参数
 * @param {Object} params.createUser 创建人编号 
 * @param {Object} params.crowd 适用人群
 * @param {Object} params.describe 描述	
 * @param {Object} params.gender 性别
 * @param {Object} params.nethotJsonArray 网红爆款数组
 * @param {Object} params.purpose 用途
 * @param {Object} params.title 标题
 */
export const productSaveNethot = (params = {}) => {
	return Util.request({
		url: `/api/product/saveNethot`,
		method: 'POST',
		data: params,
		userId: true,
		shopId: true
	})
}
/**
 * @name 自己店铺的商品
 * @param {Object} params 请求参数
 * @param {Object} params.pageNum 
 * @param {Object} params.pageSize 
 * @param {Object} params.typeId 商品编号
 */
export const productMyProducts = (params = {}) => {
	return Util.request({
		url: `/api/product/myProducts`,
		method: 'POST',
		data: params,
		userId: true
	})
}
/**
 * @name 商品扩展信息
 * @param {Object} params 请求参数
 * @param {Object} params.productId
 */
export const productDetailExt = (params = {}) => {
	return Util.request({
		url: `/api/product/detailExt`,
		method: 'POST',
		data: params,
	})
}


/**
 * @name 获取产品颜色
 * @param {Object} params 请求参数
 * @param {Object} params.colorCode 模糊查询关键字
 * @param {Object} params.pageNum
 * @param {Object} params.pageSize
 * @param {Object} params.productId 商品主键ID
 */
export const productProductColors = (params = {}) => {
	return Util.request({
		url: `/api/product/productColors`,
		method: 'POST',
		data: params,
	})
}
